package com.pro.mapper;

import com.pro.pojo.JsDept;
import com.pro.pojo.JsDeptAuthority;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * ClassName:JsDeptManagementMapper
 * Package:com.pro.mapper
 * Description: 部门管理mapper
 *
 * @Date:2022/2/8 上午 9:03
 * @Author: WYH
 */
public interface JsDeptManagementMapper {
    
    /**
     * @Author WYH
     * @Description //TODO 查看所有部门信息
     * @Date 上午 9:06 2022/2/8
     * @Param deptName,trueName,createDate,status,limit,page
     * @return  List<JsDept>
     **/
    List<JsDept> getJsDeptList(@Param("deptName") String deptName, @Param("trueName") String trueName, @Param("createDate") String createDate, @Param("status") String status,@Param("limit") Integer limit, @Param("page") Integer page);

    /**
     * @Author WYH
     * @Description //TODO 计算所有部门信息个数
     * @Date 上午 9:07 2022/2/8
     * @Param deptName,trueName,createDate,status
     * @return  Integer
     **/
    Integer countJsDeptList(@Param("deptName") String deptName, @Param("trueName") String trueName, @Param("createDate") String createDate, @Param("status") String status);

    /**
     * @Author WYH
     * @Description //TODO 修改状态
     * @Date 上午 9:36 2022/2/9
     * @Param jsDept
     * @return  true | false
     **/
    Boolean updateStatus(JsDept jsDept);

    /**
     * @Author WYH
     * @Description //TODO 删除部门
     * @Date 上午 9:54 2022/2/9
     * @Param id
     * @return  true | false
     **/
    Boolean deleteDept(Integer id);

    /**
     * @Author WYH
     * @Description //TODO 根据id查询部门
     * @Date 上午 10:33 2022/2/9
     * @Param id
     * @return JsDept
     **/
    JsDept getJsDeptById(Integer id);
    
    /**
     * @Author WYH
     * @Description //TODO 编辑部门
     * @Date 上午 10:42 2022/2/9
     * @Param jsDept
     * @return  true | false
     **/
    Boolean updateJsDept(JsDept jsDept);

    /**
     * @Author WYH
     * @Description //TODO 添加部门
     * @Date 下午 3:05 2022/2/10
     * @Param jsDept | jsDeptAuthority
     * @return true | false
     **/
    Boolean addJsDeptList(JsDept jsDept);
    Boolean addJsDeptAuthority(JsDeptAuthority jsDeptAuthority);
}
